package com.edou.cms.service;

import java.util.List;

import com.edou.cms.entity.CmsTag;
import com.edou.base.page.PageResult;

import com.edou.cms.dto.CmsTagCondition;

public interface ICmsTagService {

	/**
	 * 分页查询
	 * @param pageResult 分页对象
	 * @param condition 查询条件类
	 */
	void listCmsTagByPage(PageResult<CmsTag> pageResult,CmsTagCondition condition);

	/**
	 * 查询所有标签
	 * @return
	 */
	List<CmsTag> listCmsTagAll();
	
	/**
	 * 根据条件查询标签
	 * @return
	 */
	List<CmsTag> listCmsTagByCondition(CmsTagCondition condition);
	
	/**
	 * 热门标签
	 * @return
	 */
	List<CmsTag> listCmsTagHotsList();
	
	/**
	 * 根据栏目id查询文章热门标签
	 * @param channelId
	 * @return
	 */
	List<CmsTag> listCmsTagHotsListByChannelId(String channelId);
	
	/**
	 * 根据专栏id查询标签
	 * @param columnId
	 * @return
	 */
	List<CmsTag> listCmsTagByColumnId(String columnId);
	
	/**
	 * 根据ID查询
	 * @param id 主键
	 * @return 文章标签
	 */
	CmsTag getCmsTagById(String id);

	/**
	 * 新增
	 * @param item 文章标签
	 */
	void add(CmsTag item);

	/**
	 * 修改
	 * @param item 文章标签
	 */
	void update(CmsTag item);

	/**
	 * 根据ID集合批量删除
	 * @param ids ID集合
	 */
	void delByIds(String[] ids);
	
	/**
	 * 根据类别查询标签
	 * @param condition
	 * @return
	 */
	List<CmsTag> listCmsTagByType(CmsTagCondition condition);
	
	/**
	 * 根据排序方式，进行查询热门标签
	 * @param limit
	 * @return
	 */
	List<CmsTag> listCmsTagHotsBySort(Integer limit);

}

